<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"            
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">
        <ui:define name="contenido">             
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">    
                <p:panel id="pnPosibPost" header="#{i18n['contrato.lista.no.env.planilla.titulo']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid id="pgFormFilter" columns="10" cellpadding="4">                       

                        <h:outputLabel styleClass="label" value="#{i18n['persona.label.tipo_documento']}"/>                    
                        <p:selectOneMenu value="#{contratoMBean.dtoFiltro.personaDto.tipoDocumentoDto}"  converter="parametroConvert"                              
                                         style="#{applicationMBean.estiloObligatorio}">
                            <f:selectItems value="#{contratoMBean.listaTipoDoc}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>

                        <h:outputLabel value="#{i18n['persona.label.numero_documento']}" styleClass="label"/>
                        <p:inputText label="#{i18n['ppersona.label.numero_documento']}"  onkeypress="return fn_validaTecla('alfanumerico',this)"
                                     value="#{contratoMBean.dtoFiltro.personaDto.numeroDocumento}"                                      
                                     size="20" styleClass="txtCampo">
                            <f:validateLength maximum="100" minimum="0" />
                        </p:inputText>

                        <h:outputLabel value="#{i18n['persona.label.nombre_completo']}" styleClass="label"/>
                        <p:inputText label="#{i18n['persona.label.nombre_completo']}"  onkeypress="return fn_validaTecla('alfanumericoypuntoyblanco',this)"
                                     value="#{contratoMBean.dtoFiltro.personaDto.nombreCompleto}"                                      
                                     size="50" styleClass="txtCampo">
                            <f:validateLength maximum="100" minimum="0" />
                        </p:inputText>

                        <h:outputLabel styleClass="label" value="#{i18n['persona.label.sexo']}"/>                    
                        <p:selectOneMenu value="#{contratoMBean.dtoFiltro.personaDto.sexoDto}"  converter="parametroConvert"                         
                                         style="#{applicationMBean.estiloObligatorio}">
                            <f:selectItems value="#{contratoMBean.listaSexo}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>

                        <h:outputLabel styleClass="label" value="#{i18n['contrato.label.sede']}"/>                    
                        <p:selectOneMenu value="#{contratoMBean.dtoFiltro.sedeDto}"  converter="parametroConvert"                             
                                         style="#{applicationMBean.estiloObligatorio}">
                            <f:selectItems value="#{contratoMBean.listaSedesFiltro}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>

                        <h:outputLabel styleClass="label" value="#{i18n['contrato.label.mod_contratacion']}"/>                    
                        <p:selectOneMenu value="#{contratoMBean.dtoFiltro.tipoContratoDto}"  converter="parametroConvert"                            
                                         style="#{applicationMBean.estiloObligatorio}">
                            <f:selectItems value="#{contratoMBean.listaModContratacionFiltro}" var="parametroDto" itemLabel="#{parametroDto.descripcion}" itemValue="#{parametroDto}" />                        
                        </p:selectOneMenu>


                        <p:spacer width="10" />
                        <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.buscar.filtro.tip']}" accesskey="#{applicationMBean.keyBuscar}"
                                         value="#{i18n['general.button.buscar.filtro']}" ajax="false" 
                                         style="#{applicationMBean.cssBotonBusqueda}"
                                         actionListener="#{contratoMBean.busquedaContratoNoEnviadosPlanilla}">
                            <f:ajax  render="pnlTabla pgFormFilter"/>
                        </p:commandButton>  
                        <p:spacer width="10" />
                        <h:outputText  value="#{contratoMBean.lista.size()} #{i18n['form.general.mensaje.cantidad.encontrada']}" styleClass="mensaje" rendered="#{contratoMBean.lista!=null}"/>       
                    </h:panelGrid>
                </p:panel>
                <p:spacer height="10px"/>
                <p:panel id="pnlTabla" header="#{i18n['general.panel.titulo.busqueda.resultado']}" style="#{applicationMBean.estiloTitulo}">
                    <h:panelGrid columns="1">
                        <p:dataTable id="tblPrincipal" value="#{contratoMBean.lista}" var="dto"
                                     rowKey="#{dto.id}" selection="#{contratoMBean.selectedConts}"
                                     emptyMessage="#{i18n['form.general.mensaje.no.registros']}" styleClass="estiloPanel"                              
                                     paginator="true" rows="#{sessionMBean.cantidadRegistros}"  widgetVar="widTable">    
                          
                            <p:column selectionMode="multiple" style="width:18px" />
                            <p:column style="text-align:center;">
                                <h:panelGrid id="pgBotonesGrilla" columns="10" cellspacing="10" styleClass="estiloPanelGrid">
                                    <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.ver.tip']}"
                                                     action="#{contratoMBean.ver}" ajax="false">
                                        <f:setPropertyActionListener value="#{dto}" target="#{contratoMBean.dto}" />                                                                    
                                    </p:commandButton>
                                </h:panelGrid>
                            </p:column>
                            <p:column headerText="#{i18n['general.label.id']}"  style="text-align:center;">
                                <h:outputText value="#{dto.id}" styleClass="txtCampo" />
                            </p:column>
                            <p:column headerText="#{i18n['postulante.label.estado']}"  style="text-align:center;">
                                <h:outputText value="#{dto.estadoDto.descripcion}" styleClass="txtCampo" />
                            </p:column>
                            <p:column headerText="#{i18n['postulante.label.nombre_completo']}">
                                <h:outputText value="#{dto.personaDto.nombreCompleto}" styleClass="txtCampo" />
                            </p:column>
                            <p:column headerText="#{i18n['postulante.label.doc_ident']}">
                                <h:outputText value="#{dto.personaDto.tipoDocumentoDto.descripcion}" styleClass="txtCampo" />
                            </p:column>
                            <p:column headerText="#{i18n['postulante.label.estado_civil']}" >
                                <h:outputText value="#{dto.personaDto.estadoCivilDto.descripcion}" styleClass="txtCampo" />
                            </p:column>   
                            <p:column style="text-align:left;">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['contrato.label.fecha_suscripcion']}" />
                                </f:facet>
                                <h:outputText value="#{dto.fechaSuscripcion}" styleClass="txtCampo" >
                                    <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"  timeZone="#{applicationMBean.timeZone}"/> 
                                </h:outputText>                                
                            </p:column>
                            <p:column style="text-align:left;">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['contrato.label.fecha_inicio']}" />
                                </f:facet>
                                <h:outputText value="#{dto.fechaInicio}" styleClass="txtCampo" >
                                    <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"  timeZone="#{applicationMBean.timeZone}"/> 
                                </h:outputText>                                
                            </p:column>
                            <p:column style="text-align:left;">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['contrato.label.fecha_fin']}" />
                                </f:facet>
                                <h:outputText value="#{dto.fechaFin}" styleClass="txtCampo" >
                                    <f:convertDateTime pattern="#{applicationMBean.formatoFecha}"  timeZone="#{applicationMBean.timeZone}"/> 
                                </h:outputText>                                
                            </p:column>
                            <p:column headerText="#{i18n['contrato.label.env_planilla']}">
                                <p:selectBooleanCheckbox value="#{dto.envPlanilla}"  styleClass="txtCampo"/>
                            </p:column>  

                            <p:column>
                                <f:facet name="header">  
                                    <h:outputText value="#{i18n['contrato.label.obs_planillero']}" styleClass="label"/>  
                                </f:facet> 
                                <p:inplace id="ajaxInplace" editor="true" emptyLabel="#{i18n['general.empty.label']}">
                                    <p:inputTextarea label="#{i18n['contrato.label.obs_planillero']}"
                                                     value="#{dto.observPlanillero}" 
                                                     maxlength="1000" cols="80" rows="4"  style="#{applicationMBean.estiloObligatorio}">
                                    </p:inputTextarea>
                                </p:inplace>

                            </p:column> 

                        </p:dataTable>
                    </h:panelGrid>
                </p:panel>
                <p:panel id="pnlAcciones">
                    <h:panelGrid columns="10">   
                        <p:commandButton title="#{i18n['contrato.button.exp_planilla_selecc']}" disabled="#{contratoMBean.lista == null || contratoMBean.lista.size() == 0}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.privilegiosOpciones['415']=='true'}"
                                         onclick="unCheckSubmit()"
                                         value="#{i18n['contrato.button.exp_planilla_selecc']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{contratoMBean.generarExcelSeleccionadosEnviarAPlanilla}">                                    
                        </p:commandButton>  
                        <p:commandButton title="#{i18n['contrato.button.exp_planilla_por_tabla']}" disabled="#{contratoMBean.lista == null || contratoMBean.lista.size() == 0}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon ui-icon-disk" rendered="#{sessionMBean.privilegiosOpciones['416']=='true'}"
                                         onclick="unCheckSubmit()"
                                         value="#{i18n['contrato.button.exp_planilla_por_tabla']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{contratoMBean.generarExcelPorTablaEnviarAPlanilla}">                                    
                        </p:commandButton>   
                        <p:commandButton title="#{i18n['contrato.button.exp_file']}" disabled="true" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon ui-icon-disk" rendered="false"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         value="#{i18n['contrato.button.exp_file']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{contratoMBean.guardar}">                                    
                        </p:commandButton> 
                        <p:commandButton title="#{i18n['general.button.guardar.tip']}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon ui-icon-disk" disabled="#{contratoMBean.lista == null || contratoMBean.lista.size() == 0}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');" rendered="#{sessionMBean.privilegiosOpciones['417']=='true'}"
                                         value="#{i18n['general.button.guardar']}" style="#{applicationMBean.cssBotonTransaccion}"
                                         action="#{contratoMBean.guardarEnviarPlanilla}">                                    
                        </p:commandButton>   

                    </h:panelGrid>
                </p:panel>
            </h:form>

        </ui:define>
    </ui:composition>
</html>
